const CryptoJS = require('../Minmetals/crypto-js');
var t = {
    "page": 1,
    "page_len": 20,
    "diploma_id": "7",
    "wenli": "0"
}
function Qt() {
    t = t;
    e = {
        app_id: "98357f659cf8fb6001cff80f7c6b85f2",
        ts: +new Date,
        platform: "desktop",
        v: 210
    };
    Object.assign(t, e);
    var n = objectToString(t, ['app_id', 'diploma_id', 'page', 'page_len', 'platform', 'ts', 'v', 'wenli']);//保持顺序不变
    return n += "&key=" + "146fd1e66513611ac7af69f21f1d7725",
        t.sign = CryptoJS.MD5(n).toString().toUpperCase(),
        Object.assign(t, e)
}
function objectToString(obj, order) {
    // 检查输入是否为对象
    if (typeof obj !== 'object' || obj === null) {
        throw new TypeError('Input must be an object');
    }

    // 检查顺序数组是否存在
    if (!Array.isArray(order)) {
        order = Object.keys(obj); // 如果没有提供顺序数组，则默认使用对象的所有键
    }

    // 根据顺序数组构建键值对字符串
    const entries = order.map(key => {
        if (obj.hasOwnProperty(key)) {
            return `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`;
        }
        return null; // 如果对象中不存在该键，则返回 null
    }).filter(entry => entry !== null); // 过滤掉不存在的键

    // 用 & 符号连接所有键值对
    const result = entries.join('&');

    // 用大括号 {} 包含整个字符串
    return `{${result}}`;
}
Qt();
console.log(t);

